/******************************************************************************
 * SakaieverDao.java - created by Sakai App Builder -AZ
 *
 * Copyright (c) 2008 Sakai Project/Sakai Foundation
 * Licensed under the Educational Community License version 1.0
 *
 * A copy of the Educational Community License has been included in this
 * distribution and is available at: http://www.opensource.org/licenses/ecl1.php
 *
 *****************************************************************************/

package jp.co.sakaiever.dao;

import java.io.Serializable;
import java.util.List;

/**
 * This is a specialized DAO that allows the developer to extend
 * the functionality of the generic dao package
 * @author Sakai App Builder -AZ
 */
public interface SakaieverDao {

    public <T> int countAll(Class<T> entityClass);

    public void delete(Object object);

    public <T> List<T> findAll(Class<T> entityClass);

    public <T> T findById(Class<T> entityClass, Serializable id);

    public <T> List<T> findBySearch(Class<T> entityClass, Object search);

    public void save(Object object);
}
